package com.example.clock_demo.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.example.clock_demo.converter.LocalDateConverter;
import com.example.clock_demo.converter.LocalTimeConverter;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;

@Data
@ColumnWidth(18)
public class DailyAttendanceExportDTO {

    @ExcelProperty("序号")
    @ColumnWidth(8)
    private Integer sequenceNumber;

    @ExcelProperty("班组名字")
    private String teamName;

    @ExcelProperty("工号")
    private String employeeNumber;

    @ExcelProperty("姓名")
    private String employeeName;

    @ExcelProperty(value = "日期", converter = LocalDateConverter.class)
    private LocalDate date;

    @ExcelProperty(value = "上班打卡时间", converter = LocalTimeConverter.class)
    private LocalTime actualPunchInTime;

    @ExcelProperty("上班打卡设备")
    private String punchInDevice;

    @ExcelProperty(value = "下班打卡时间", converter = LocalTimeConverter.class)
    private LocalTime actualPunchOutTime;

    @ExcelProperty("下班打卡设备")
    private String punchOutDevice;

    @ExcelProperty("排班班次")
    private String shiftName;

    @ExcelProperty("考勤情况")
    private String attendanceStatus;

    @ExcelProperty("迟到时长(小时)")
    private BigDecimal lateDurationHours;

    @ExcelProperty("早退时长(小时)")
    private BigDecimal earlyLeaveDurationHours;

    @ExcelProperty("实际工作时长(小时)")
    private BigDecimal actualWorkHours;
}
